<!DOCTYPE HTML>

<html lang="en">
<head>

<title>JndiDnsResolver (spring-security-docs 5.6.3 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="JndiDnsResolver (spring-security-docs 5.6.3 API)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":42,"i1":42,"i2":42,"i3":42,"i4":42};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">

<div class="topNav"><a id="navbar.top">

</a>
<div class="skipNav"><a href="JndiDnsResolver.html#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">

</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="JndiDnsResolver.html#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="JndiDnsResolver.html#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="JndiDnsResolver.html#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="JndiDnsResolver.html#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">

</a></div>

</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>

<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.springframework.security.remoting.dns</a></div>
<h2 title="Class JndiDnsResolver" class="title">Class JndiDnsResolver</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.springframework.security.remoting.dns.JndiDnsResolver</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="DnsResolver.html" title="interface in org.springframework.security.remoting.dns">DnsResolver</a></code></dd>
</dl>
<hr>
<pre>@Deprecated
public class <span class="typeNameLabel">JndiDnsResolver</span>
extends java.lang.Object
implements <a href="DnsResolver.html" title="interface in org.springframework.security.remoting.dns">DnsResolver</a></pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">as of 5.6.0 with no replacement</div>
</div>
<div class="block">Implementation of DnsResolver which uses JNDI for the DNS queries.
Uses an <b>InitialContextFactory</b> to get the JNDI DirContext. The default
implementation will just create a new Context with the context factory
<b>com.sun.jndi.dns.DnsContextFactory</b></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>3.0</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="DnsResolver.html" title="interface in org.springframework.security.remoting.dns"><code>DnsResolver</code></a>,
<a href="InitialContextFactory.html" title="interface in org.springframework.security.remoting.dns"><code>InitialContextFactory</code></a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">

<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">

</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="JndiDnsResolver.html#%3Cinit%3E()">JndiDnsResolver</a></span>()</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>

<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">

</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="JndiDnsResolver.html#resolveIpAddress(java.lang.String)">resolveIpAddress</a></span>&#8203;(java.lang.String&nbsp;hostname)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Resolves the IP Address (A record) to the specified host name.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="JndiDnsResolver.html#resolveServiceEntry(java.lang.String,java.lang.String)">resolveServiceEntry</a></span>&#8203;(java.lang.String&nbsp;serviceType,
 java.lang.String&nbsp;domain)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">
Resolves the host name for the specified service in the specified domain</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="JndiDnsResolver.html#resolveServiceIpAddress(java.lang.String,java.lang.String)">resolveServiceIpAddress</a></span>&#8203;(java.lang.String&nbsp;serviceType,
java.lang.String&nbsp;domain)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Resolves the host name for the specified service and then the IP Address for this
host in one call.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="JndiDnsResolver.html#resolveServiceIpAddressAndPort(java.lang.String,java.lang.String)">resolveServiceIpAddressAndPort</a></span>&#8203;(java.lang.String&nbsp;serviceType,
java.lang.String&nbsp;domain)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Resolves the host name for the specified service and then the IP Address and port
for this host in one call.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="JndiDnsResolver.html#setCtxFactory(org.springframework.security.remoting.dns.InitialContextFactory)">setCtxFactory</a></span>&#8203;(<a href="InitialContextFactory.html" title="interface in org.springframework.security.remoting.dns">InitialContextFactory</a>&nbsp;ctxFactory)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Allows to inject an own JNDI context factory.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">

</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">

<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">

</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">

</a>
<ul class="blockListLast">
<li class="blockList">
<h4>JndiDnsResolver</h4>
<pre>public&nbsp;JndiDnsResolver()</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
</li>
</ul>
</li>
</ul>
</section>

<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">

</a>
<h3>Method Detail</h3>
<a id="setCtxFactory(org.springframework.security.remoting.dns.InitialContextFactory)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>setCtxFactory</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setCtxFactory&#8203;(<a href="InitialContextFactory.html" title="interface in org.springframework.security.remoting.dns">InitialContextFactory</a>&nbsp;ctxFactory)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Allows to inject an own JNDI context factory.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ctxFactory</code> - factory to use, when a DirContext is needed</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>InitialDirContext</code>,
<code>DirContext</code></dd>
</dl>
</li>
</ul>
<a id="resolveIpAddress(java.lang.String)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>resolveIpAddress</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;resolveIpAddress&#8203;(java.lang.String&nbsp;hostname)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="DnsResolver.html#resolveIpAddress(java.lang.String)">DnsResolver</a></code></span></div>
<div class="block">Resolves the IP Address (A record) to the specified host name. Throws
DnsEntryNotFoundException if there is no record.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="DnsResolver.html#resolveIpAddress(java.lang.String)">resolveIpAddress</a></code>&nbsp;in interface&nbsp;<code><a href="DnsResolver.html" title="interface in org.springframework.security.remoting.dns">DnsResolver</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>hostname</code> - The hostname for which you need the IP Address</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>IP Address as a String</dd>
</dl>
</li>
</ul>
<a id="resolveServiceEntry(java.lang.String,java.lang.String)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>resolveServiceEntry</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;resolveServiceEntry&#8203;(java.lang.String&nbsp;serviceType,
                                            java.lang.String&nbsp;domain)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="DnsResolver.html#resolveServiceEntry(java.lang.String,java.lang.String)">DnsResolver</a></code></span></div>
<div class="block"><p>
Resolves the host name for the specified service in the specified domain
<p>
For example, if you need the host name for an LDAP server running in the domain
springsource.com, you would call <b>resolveServiceEntry("ldap",
"springsource.com")</b>.
<p>
The DNS server needs to provide the service records for this, in the example above,
it would look like this:
<pre> _ldap._tcp.springsource.com IN SRV 10 0 88 ldap.springsource.com.
 </pre>
The method will return the record with highest priority (which means the lowest
number in the DNS record) and if there are more than one records with the same
priority, it will return the one with the highest weight. You will find more
informatione about DNS service records at
<a href="https://en.wikipedia.org/wiki/SRV_record">Wikipedia</a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="DnsResolver.html#resolveServiceEntry(java.lang.String,java.lang.String)">resolveServiceEntry</a></code>&nbsp;in interface&nbsp;<code><a href="DnsResolver.html" title="interface in org.springframework.security.remoting.dns">DnsResolver</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serviceType</code> - The service type you are searching for, e.g. ldap, kerberos, ...</dd>
<dd><code>domain</code> - The domain, in which you are searching for the service</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The hostname of the service</dd>
</dl>
</li>
</ul>
<a id="resolveServiceIpAddress(java.lang.String,java.lang.String)">

</a>
<ul class="blockList">
<li class="blockList">
<h4>resolveServiceIpAddress</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;resolveServiceIpAddress&#8203;(java.lang.String&nbsp;serviceType,
                                                java.lang.String&nbsp;domain)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="DnsResolver.html#resolveServiceIpAddress(java.lang.String,java.lang.String)">DnsResolver</a></code></span></div>
<div class="block">Resolves the host name for the specified service and then the IP Address for this
host in one call.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="DnsResolver.html#resolveServiceIpAddress(java.lang.String,java.lang.String)">resolveServiceIpAddress</a></code>&nbsp;in interface&nbsp;<code><a href="DnsResolver.html" title="interface in org.springframework.security.remoting.dns">DnsResolver</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serviceType</code> - The service type you are searching for, e.g. ldap, kerberos, ...</dd>
<dd><code>domain</code> - The domain, in which you are searching for the service</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>IP Address of the service</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="DnsResolver.html#resolveServiceEntry(java.lang.String,java.lang.String)"><code>DnsResolver.resolveServiceEntry(String, String)</code></a>,
<a href="DnsResolver.html#resolveIpAddress(java.lang.String)"><code>DnsResolver.resolveIpAddress(String)</code></a></dd>
</dl>
</li>
</ul>
<a id="resolveServiceIpAddressAndPort(java.lang.String,java.lang.String)">

</a>
<ul class="blockListLast">
<li class="blockList">
<h4>resolveServiceIpAddressAndPort</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;resolveServiceIpAddressAndPort&#8203;(java.lang.String&nbsp;serviceType,
                                                       java.lang.String&nbsp;domain)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Resolves the host name for the specified service and then the IP Address and port
for this host in one call.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serviceType</code> - The service type you are searching for, e.g. ldap, kerberos, ...</dd>
<dd><code>domain</code> - The domain, in which you are searching for the service</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>IP address and port of the service, formatted [ip_address]:[port]</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="DnsEntryNotFoundException.html" title="class in org.springframework.security.remoting.dns">DnsEntryNotFoundException</a></code> - No record found</dd>
<dd><code><a href="DnsLookupException.html" title="class in org.springframework.security.remoting.dns">DnsLookupException</a></code> - Unknown DNS error</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>5.6</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="JndiDnsResolver.html#resolveServiceEntry(java.lang.String,java.lang.String)"><code>resolveServiceEntry(String, String)</code></a>,
<a href="JndiDnsResolver.html#resolveServiceIpAddress(java.lang.String,java.lang.String)"><code>resolveServiceIpAddress(String, String)</code></a></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>

<footer role="contentinfo">
<nav role="navigation">

<div class="bottomNav"><a id="navbar.bottom">

</a>
<div class="skipNav"><a href="JndiDnsResolver.html#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">

</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="JndiDnsResolver.html#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="JndiDnsResolver.html#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="JndiDnsResolver.html#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="JndiDnsResolver.html#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">

</a></div>

</nav>
</footer>
<script>if (window.parent == window) {(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','//www.google-analytics.com/analytics.js','ga');ga('create', 'UA-2728886-23', 'auto', {'siteSpeedSampleRate': 100});ga('send', 'pageview');}</script><script defer src="https://static.cloudflareinsights.com/beacon.min.js/v652eace1692a40cfa3763df669d7439c1639079717194" integrity="sha512-Gi7xpJR8tSkrpF7aordPZQlW2DLtzUlZcumS8dMQjwDHEnw9I7ZLyiOj/6tZStRBGtGgN6ceN6cMH8z7etPGlw==" data-cf-beacon='{"rayId":"7040e1766adb97cf","token":"bffcb8a918ae4755926f76178bfbd26b","version":"2021.12.0","si":100}' crossorigin="anonymous"></script>
</body>
</html>
